This invention relates to graphic display systems and particularly to identifying three-dimensional coordinates of objects corresponding to selected points of axonometric projections on the display screen.
CAD displays of three-dimensional objects are two-dimensional on the screen. Some CAD functions, e.g., 3-D ROTATE, require a user to enter the three-dimensional coordinates of points. The 3-D ROTATE example requires the user to enter the three-dimensional coordinates of a pair of points defining the axis of rotation.
Storage of the two-dimensional display (screen) coordinates corresponding to the three-dimensional (world) coordinates, as an attribute of the displayed points, is not always feasible. CAD programs are usually large and memory must be conserved as much as possible. Furthermore, when an entire screen is scaled, translated, or rotated, the time required for the calculation and display of the new two-dimensional points of the objects should be minimized.
The stored three-dimensional points defining objects in a world coordinate system can undergo several manipulations before being displayed because of selective changes in the viewpoint, orientation of the objects by the user, or changes in the eye point. The world coordinate points are stored but not the corresponding two-dimensional display coordinates in order to conserve memory space and to reduce the number of operations required to store the latter in a data base.
The present graphic and CAD systems require the user to keep notes or memorize the three-dimensional coordinates of the desired points or to find them by trial-and-error methods.
U.S. Pat. No. 4,516,266 identifies points on a display according to pels selected on the face of the display using a light pen. The feature, e.g., box, circle, line, or arc, to which the pel (one of the picture elements or dots making up the display) belongs is highlighted when the pel position is identified.
U.S. Pat. No. 4,858,157 shows a coordinate measuring system having a detecting unit with an optical system for obtaining an image of an object. The control unit for taking out data from each array element in the detecting unit does not operate in a manner that requires identification of the three-dimensional coordinates.
U.S. Pat. No. 4,855,939 models a three-dimensional object from dimension and tolerance information supplied by the operator which is displayed on a plan or elevation view. This information is automatically converted to a displayed axonometric drawing.
U.S. Pat. No. 4,827,413 discloses a method for displaying three-dimensional images using a back-to-front algorithm that converts vectors.
The invention is invoked when a graphics or CAD function requiring the three-dimensional coordinates of a point prompts the user to enter the coordinates. The user can move a cursor to or near the desired point which is high-lighted on the display for verification as the selected point and the u,v (screen) display coordinates of the selected point are determined. The program then enters a loop in which the u',v' (world) display coordinates corresponding to successive three-dimensional points are calculated and compared to the u,v coordinates of the selected point.
If the u,v and u',v' points are the same, the corresponding three-dimensional coordinates are returned to the user via the display or, alternatively, entered automatically in the calling function.
If all points are converted and compared with none the same as the u,v point, then an error routine is called and the subroutine exited.
In accordance with the invention, a selected point on a two-dimensional display representing a three-dimensional object is related to its corresponding three-dimensional coordinates by determining the display coordinates of the selected point and converting stored three-dimensional points to their corresponding two-dimensional display coordinates until the latter coordinates are the same as the display coordinates of the selected point.